using StudentManagement.Domain.Entities;

namespace StudentManagement.Domain.Repositories;

public interface IScoreRepository : IRepository<Score>
{
    Task<IEnumerable<Score>> GetScoresByStudentIdAsync(int studentId);
    Task<IEnumerable<Score>> GetScoresByCourseIdAsync(int courseId);
    Task<Score> GetScoreByStudentAndCourseAsync(int studentId, int courseId);
    Task<IEnumerable<Score>> GetScoresWithStudentAndCourseAsync();
    Task<decimal?> GetAverageScoreByCourseIdAsync(int courseId);
}